package cn.ac.iscas.domain.response.middleplatform;


import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * 表信息的元数据
 *
 * @author zhuquanwen
 * @version 1.0
 * @date 2022/3/2 17:38
 * @since jdk11
 */
public class MetaTable implements Serializable {
    /**
     * 名称
     * */
    protected String name;

    /**
     * 描述(注释)
     * */
    protected String comment;

    /**
     * 数据库名
     * */
    protected String schema;

    /**
     * 创建时间
     * */
    protected Date createTime;

    /**
     * 修改时间
     * */
    protected Date updateTime;

    /**
     * 列信息
     * */
    protected List<MetaColumn> columns;

    /**
     * 索引,每种数据库用其子类，例如Mysql的为MetaMysqlIndex
     * */
    protected List<MetaIndex> indexes;

    /**
     * 外键,每种数据库用其子类，例如Mysql的为MetaMysqlForeignKey
     * */
    protected List<MetaForeignKey> foreignKeys;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getComment() {
        return comment;
    }

    public void setComment(String comment) {
        this.comment = comment;
    }

    public String getSchema() {
        return schema;
    }

    public void setSchema(String schema) {
        this.schema = schema;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    public List<MetaColumn> getColumns() {
        return columns;
    }

    public void setColumns(List<MetaColumn> columns) {
        this.columns = columns;
    }

    public List<MetaIndex> getIndexes() {
        return indexes;
    }

    public void setIndexes(List<MetaIndex> indexes) {
        this.indexes = indexes;
    }

    public List<MetaForeignKey> getForeignKeys() {
        return foreignKeys;
    }

    public void setForeignKeys(List<MetaForeignKey> foreignKeys) {
        this.foreignKeys = foreignKeys;
    }
}
